package com.ys.entity.base;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Table;
import com.alibaba.fastjson.annotation.JSONField;
import com.ys.annotation.YsField;
import com.ys.entity.base.BaseEntity;
/**
*/
@Table(name="TB_UserAttendance", catalog="Id")
public class TbUserAttendance extends BaseEntity<TbUserAttendance> {

	@YsField(nameDataBase="Id", nameJava="id", typeDataBase="bigint")
	private Long id;
	@YsField(nameDataBase="UserId", nameJava="userId", typeDataBase="varchar")
	private String userId;
	@YsField(nameDataBase="AttendanceMonth", nameJava="attendanceMonth", typeDataBase="varchar")
	private String attendanceMonth;
	@YsField(nameDataBase="WorkHour", nameJava="workHour", typeDataBase="decimal")
	private BigDecimal workHour;
	@YsField(nameDataBase="AttendanceDay", nameJava="attendanceDay", typeDataBase="decimal")
	private BigDecimal attendanceDay;
	@YsField(nameDataBase="BusinessTripsDay", nameJava="businessTripsDay", typeDataBase="decimal")
	private BigDecimal businessTripsDay;
	@YsField(nameDataBase="RestDay", nameJava="restDay", typeDataBase="decimal")
	private BigDecimal restDay;
	@YsField(nameDataBase="NoWorkHour", nameJava="noWorkHour", typeDataBase="decimal")
	private BigDecimal noWorkHour;
	@YsField(nameDataBase="LateTimes", nameJava="lateTimes", typeDataBase="decimal")
	private BigDecimal lateTimes;
	@YsField(nameDataBase="NoSignIn", nameJava="noSignIn", typeDataBase="decimal")
	private BigDecimal noSignIn;
	@YsField(nameDataBase="YearHolidayHour", nameJava="yearHolidayHour", typeDataBase="decimal")
	private BigDecimal yearHolidayHour;
	@YsField(nameDataBase="ChildbirthHolidayHour", nameJava="childbirthHolidayHour", typeDataBase="decimal")
	private BigDecimal childbirthHolidayHour;
	@YsField(nameDataBase="CompanionChildbirthHour", nameJava="companionChildbirthHour", typeDataBase="decimal")
	private BigDecimal companionChildbirthHour;
	@YsField(nameDataBase="MarryHolidayHour", nameJava="marryHolidayHour", typeDataBase="decimal")
	private BigDecimal marryHolidayHour;
	@YsField(nameDataBase="DeathHolidayHour", nameJava="deathHolidayHour", typeDataBase="decimal")
	private BigDecimal deathHolidayHour;
	@YsField(nameDataBase="IllHolidayHour", nameJava="illHolidayHour", typeDataBase="decimal")
	private BigDecimal illHolidayHour;
	@YsField(nameDataBase="ThingHolidayHourByPublic", nameJava="thingHolidayHourByPublic", typeDataBase="decimal")
	private BigDecimal thingHolidayHourByPublic;
	@YsField(nameDataBase="ThingHolidayHourByOther", nameJava="thingHolidayHourByOther", typeDataBase="decimal")
	private BigDecimal thingHolidayHourByOther;
	@YsField(nameDataBase="Status", nameJava="status", typeDataBase="tinyint")
	private Integer status;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="CreateTime", nameJava="createTime", typeDataBase="datetime")
	private Date createTime;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="UpdateTime", nameJava="updateTime", typeDataBase="datetime")
	private Date updateTime;

	public Long getId() {
		return id;
	}
	public TbUserAttendance setId(Long id) {
		this.id = id;
		return this;
	}
	public String getUserId() {
		return userId;
	}
	public TbUserAttendance setUserId(String userId) {
		this.userId = userId;
		return this;
	}
	public String getAttendanceMonth() {
		return attendanceMonth;
	}
	public TbUserAttendance setAttendanceMonth(String attendanceMonth) {
		this.attendanceMonth = attendanceMonth;
		return this;
	}
	public BigDecimal getWorkHour() {
		return workHour;
	}
	public TbUserAttendance setWorkHour(BigDecimal workHour) {
		this.workHour = workHour;
		return this;
	}
	public BigDecimal getAttendanceDay() {
		return attendanceDay;
	}
	public TbUserAttendance setAttendanceDay(BigDecimal attendanceDay) {
		this.attendanceDay = attendanceDay;
		return this;
	}
	public BigDecimal getBusinessTripsDay() {
		return businessTripsDay;
	}
	public TbUserAttendance setBusinessTripsDay(BigDecimal businessTripsDay) {
		this.businessTripsDay = businessTripsDay;
		return this;
	}
	public BigDecimal getRestDay() {
		return restDay;
	}
	public TbUserAttendance setRestDay(BigDecimal restDay) {
		this.restDay = restDay;
		return this;
	}
	public BigDecimal getNoWorkHour() {
		return noWorkHour;
	}
	public TbUserAttendance setNoWorkHour(BigDecimal noWorkHour) {
		this.noWorkHour = noWorkHour;
		return this;
	}
	public BigDecimal getLateTimes() {
		return lateTimes;
	}
	public TbUserAttendance setLateTimes(BigDecimal lateTimes) {
		this.lateTimes = lateTimes;
		return this;
	}
	public BigDecimal getNoSignIn() {
		return noSignIn;
	}
	public TbUserAttendance setNoSignIn(BigDecimal noSignIn) {
		this.noSignIn = noSignIn;
		return this;
	}
	public BigDecimal getYearHolidayHour() {
		return yearHolidayHour;
	}
	public TbUserAttendance setYearHolidayHour(BigDecimal yearHolidayHour) {
		this.yearHolidayHour = yearHolidayHour;
		return this;
	}
	public BigDecimal getChildbirthHolidayHour() {
		return childbirthHolidayHour;
	}
	public TbUserAttendance setChildbirthHolidayHour(BigDecimal childbirthHolidayHour) {
		this.childbirthHolidayHour = childbirthHolidayHour;
		return this;
	}
	public BigDecimal getCompanionChildbirthHour() {
		return companionChildbirthHour;
	}
	public TbUserAttendance setCompanionChildbirthHour(BigDecimal companionChildbirthHour) {
		this.companionChildbirthHour = companionChildbirthHour;
		return this;
	}
	public BigDecimal getMarryHolidayHour() {
		return marryHolidayHour;
	}
	public TbUserAttendance setMarryHolidayHour(BigDecimal marryHolidayHour) {
		this.marryHolidayHour = marryHolidayHour;
		return this;
	}
	public BigDecimal getDeathHolidayHour() {
		return deathHolidayHour;
	}
	public TbUserAttendance setDeathHolidayHour(BigDecimal deathHolidayHour) {
		this.deathHolidayHour = deathHolidayHour;
		return this;
	}
	public BigDecimal getIllHolidayHour() {
		return illHolidayHour;
	}
	public TbUserAttendance setIllHolidayHour(BigDecimal illHolidayHour) {
		this.illHolidayHour = illHolidayHour;
		return this;
	}
	public BigDecimal getThingHolidayHourByPublic() {
		return thingHolidayHourByPublic;
	}
	public TbUserAttendance setThingHolidayHourByPublic(BigDecimal thingHolidayHourByPublic) {
		this.thingHolidayHourByPublic = thingHolidayHourByPublic;
		return this;
	}
	public BigDecimal getThingHolidayHourByOther() {
		return thingHolidayHourByOther;
	}
	public TbUserAttendance setThingHolidayHourByOther(BigDecimal thingHolidayHourByOther) {
		this.thingHolidayHourByOther = thingHolidayHourByOther;
		return this;
	}
	public Integer getStatus() {
		return status;
	}
	public TbUserAttendance setStatus(Integer status) {
		this.status = status;
		return this;
	}
	public Date getCreateTime() {
		return createTime;
	}
	public TbUserAttendance setCreateTime(Date createTime) {
		this.createTime = createTime;
		return this;
	}
	public Date getUpdateTime() {
		return updateTime;
	}
	public TbUserAttendance setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
		return this;
	}

	public static TbUserAttendance tbUserAttendance(
		String userId,
		String attendanceMonth,
		BigDecimal workHour,
		BigDecimal attendanceDay,
		BigDecimal businessTripsDay,
		BigDecimal restDay,
		BigDecimal noWorkHour,
		BigDecimal lateTimes,
		BigDecimal noSignIn,
		BigDecimal yearHolidayHour,
		BigDecimal childbirthHolidayHour,
		BigDecimal companionChildbirthHour,
		BigDecimal marryHolidayHour,
		BigDecimal deathHolidayHour,
		BigDecimal illHolidayHour,
		BigDecimal thingHolidayHourByPublic,
		BigDecimal thingHolidayHourByOther,
		Integer status
			) {
		TbUserAttendance entity = new TbUserAttendance();
		entity.setUserId(userId);
		entity.setAttendanceMonth(attendanceMonth);
		entity.setWorkHour(workHour);
		entity.setAttendanceDay(attendanceDay);
		entity.setBusinessTripsDay(businessTripsDay);
		entity.setRestDay(restDay);
		entity.setNoWorkHour(noWorkHour);
		entity.setLateTimes(lateTimes);
		entity.setNoSignIn(noSignIn);
		entity.setYearHolidayHour(yearHolidayHour);
		entity.setChildbirthHolidayHour(childbirthHolidayHour);
		entity.setCompanionChildbirthHour(companionChildbirthHour);
		entity.setMarryHolidayHour(marryHolidayHour);
		entity.setDeathHolidayHour(deathHolidayHour);
		entity.setIllHolidayHour(illHolidayHour);
		entity.setThingHolidayHourByPublic(thingHolidayHourByPublic);
		entity.setThingHolidayHourByOther(thingHolidayHourByOther);
		entity.setStatus(status);
		return entity;
	}
}